package controlador;

import java.util.ArrayList;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import modelo.Producto;

/**
 * Session Bean implementation class ProductoEJB
 */
@Stateless(name="ProductoEJBRemote", mappedName="ProductoEJBRemote")
public class ProductoEJB implements ProductoEJBRemote {

    /**
     * Default constructor. 
     */
	@PersistenceContext(unitName="miPers2")
	private EntityManager em;
	private ArrayList <Producto> miProducto = new ArrayList <Producto>();
	
    public ProductoEJB() {
    }

	public void agregarProducto(Producto miProd) {
		em.persist(miProd);
		
	}

	public ArrayList<Producto> capturarProducto() {
		this.miProducto = (ArrayList<Producto>)em.createQuery("select p from Producto p order by p.nombre asc").getResultList();
		return this.miProducto;
	}

	public void remplazarProducto(String id, String nombre, String descripcion,String categoria,
			int stock, int precio) {
		Producto p = em.find(Producto.class, id);	
		p.setNombre(nombre);
		p.setDescripcion(descripcion);
		p.setStock(stock);
		p.setPrecio(precio);
		
	}
	
	public void eliminarProducto(String id) {
		Producto p = em.find(Producto.class, id);
		em.remove(p);
	}

	public Producto buscarProducto(String id) {
		Producto p = em.find(Producto.class, id);
		return p;
	}

	public void actualizarStock(String id, int stock) {
		Producto p = em.find(Producto.class, id);	
		p.setStock(stock);
		
	}

}
